package controleur;

import javax.swing.event.ListDataEvent;
import javax.swing.event.ListDataListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

import vue.AffichageBD;
import vue.AffichageCollection;
import vue.AffichageRecherche;

public class ListeAlbumsListener implements ListSelectionListener,ListDataListener{
	private AffichageCollection ac;
	private AffichageRecherche ar;

	public ListeAlbumsListener(AffichageCollection affichageCollection) {
		this.ac=affichageCollection;
	}



	public ListeAlbumsListener(AffichageRecherche affichageRecherche) {
		this.ar=affichageRecherche;
	}



	@Override
	public void valueChanged(ListSelectionEvent e) {
		int i;
		if (ac!=null) {
			i = ac.getList().getSelectedIndex();
			ac.getAG().setCentre(new AffichageBD(ac.getAG(), ac.getAG().getTraitement().getAlbums().getElementAt(i)));

		}
		else if (ar != null){
			i=ar.getList().getSelectedIndex();
			ar.getAG().setCentre(new AffichageBD(ar.getAG(), ar.getAG().getTraitement().getAlbums().getElementAt(i)));
		}
	}

	@Override
	public void contentsChanged(ListDataEvent e) {
		// TODO Auto-generated method stub
		ac.update();
	}

	@Override
	public void intervalAdded(ListDataEvent e) {
		// TODO Auto-generated method stub
		ac.update();
	}

	@Override
	public void intervalRemoved(ListDataEvent e) {
		// TODO Auto-generated method stub
		ac.update();
	}

}
